package AIColorUSAStates;

import AIColorUSAStates.Graph.FirstColorType;

public class Run 
{

	public static void main(String[] args) 
	{	
		int runTimes = 100;
		
		if (args.length > 0)
		{
			runTimes = Integer.valueOf(args[0]);
		}
		
		for (int i = 0; i < runTimes; i++) 
		{
			Graph.createGraphWithUSAStates(FirstColorType.Random);
			MinConflictAlgorithmus.start(100);
		}
		
		System.out.println("Angaben nach " + runTimes + " Druchläufen und der Iterationen pro Durchlauf von 100.");
		System.out.println("Average Iterations: " + MinConflictAlgorithmus.getAverageIterations());
		System.out.println("Average Plateau Times: " + MinConflictAlgorithmus.getAveragePlateauTimes());
		System.out.println();
		
		System.out.println("Graph nachdem der MinConflictAlgorithmus gelaufen ist: ");
		System.out.println(Graph.allNodesInGraph);
		
		System.out.println("Neuer Graph nur nach dem Einfärben mit der Metohde der meisten Consrains: ");
		Graph.createGraphWithUSAStates(FirstColorType.MostContraints);
		System.out.println(Graph.allNodesInGraph);
	}

}
